/**
 * 
 */
package com.naiterui.ehp.bp.domain;

import static javax.persistence.GenerationType.IDENTITY;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * 标签信息表
 * @author fangguanhong
 * @since CMS 2.6.8
 */
@Entity
@Table(name = "cms_label")
public class Label implements java.io.Serializable {

    private static final long serialVersionUID = -6607377245691042523L;

    /** 逻辑标签：专家名医 */
    public static final Long CLINIC_LABEL_ID = 1L;
    /** 逻辑标签：HIS医生 */
    public static final Long HIS_DOCTOR_LABEL_ID = 2L;

    /**
     * 主键：<code>id</code>
     */
    private Long id;
    /**
     * 名称：<code>name</code>
     */
    private String name;
    /**
     * 规则描述：<code>description</code>
     */
    private String description;
    /**
     * 标签类型(二进制位)：<code>type</code>
     */
    private Integer type;
    /**
     * 用户类型(0,商务代表；1,医生；2,患者)：<code>userType</code>
     */
    private Integer userType;
    /**
     * 创建人：<code>createdBy</code>
     */
    private String createdBy;
    /**
     * 创建时间：<code>createdAt</code>
     */
    private Date createdAt;
    /**
     * 修改人：<code>changedBy</code>
     */
    private String changedBy;
    /**
     * 修改时间：<code>changedAt</code>
     */
    private Date changedAt;
    /**
     * 版本号：<code>version</code>
     */
    private Short version;

    @Id
    @GeneratedValue(strategy = IDENTITY)
    @Column(name = "id", unique = true, nullable = false)
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Column(name = "name")
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Column(name = "description")
    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    @Column(name = "type")
    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    @Column(name = "user_type")
    public Integer getUserType() {
        return userType;
    }

    public void setUserType(Integer userType) {
        this.userType = userType;
    }

    @Column(name = "created_by")
    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    @Column(name = "created_at")
    public Date getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    @Column(name = "changed_by")
    public String getChangedBy() {
        return changedBy;
    }

    public void setChangedBy(String changedBy) {
        this.changedBy = changedBy;
    }

    @Column(name = "changed_at")
    public Date getChangedAt() {
        return changedAt;
    }

    public void setChangedAt(Date changedAt) {
        this.changedAt = changedAt;
    }

    @Column(name = "version")
    public Short getVersion() {
        return version;
    }

    public void setVersion(Short version) {
        this.version = version;
    }
}
